Many companies and other organizations operate computer networks that interconnect numerous computing systems to support their operations, such as with the computing systems being co-located (e.g., as part of a local network) or instead located in multiple distinct geographical locations (e.g., connected via one or more private or public intermediate networks). For example, data centers housing significant numbers of interconnected computing systems have become commonplace, such as private data centers that are operated by and on behalf of a single organization, and public data centers that are operated by entities as businesses to provide computing resources to customers. Some public data center operators provide network access, power, and secure installation facilities for hardware owned by various customers, while other public data center operators provide “full service” facilities that also include hardware resources made available for use by their customers. However, as the scale and scope of typical data centers have increased, the tasks of provisioning, administering, and managing the physical computing resources have become increasingly complicated.
The advent of virtualization technologies for commodity hardware has provided benefits with respect to managing large-scale computing resources for many customers with diverse needs, allowing various computing resources to be efficiently and securely shared by multiple customers. For example, virtualization technologies may allow a single physical computing machine (e.g., a server) to be shared among multiple users by providing each user with one or more virtual machines hosted by the single physical computing machine, with each such virtual machine being a software simulation acting as a distinct logical computing system that provides users with the illusion that they are the sole operators and administrators of a given hardware computing resource, while also providing application isolation and security among the various virtual machines.
Virtual machines can easily be created and terminated. Some service providers permit their customers to submit requests to create the virtual machines. The service provider's internal systems respond by launching a virtual machine on a physical computer in accordance with the launch requirements specified by the customer. The customer may pay for the virtual machine as long as the virtual machine is needed, and then submit a request to have the virtual machine terminated. Termination of a virtual machine may mean that all data in local memory is lost, internet protocol (IP) addresses may be removed, the guest operating system is erased, etc. Because of relative ease for a customer to terminate a virtual machine, there is also an increased risk of the customer inadvertently terminating a virtual machine. Further, service provider support services are accessible by the customers to create, terminate and otherwise manage their virtual machines. Such support services themselves may be executed on virtual machines. Inadvertently terminating a virtual machine on which a service provider support service is executing may detrimentally impact all customers of the service provider.